package com.ehotting.edsta.system.api;

import com.ehotting.eaf.core.constant.ServiceNameConstants;
import com.ehotting.eaf.core.domain.R;
import com.ehotting.eaf.core.web.domain.AjaxResult;
import com.ehotting.eaf.core.domain.system.api.SysFile;
import com.ehotting.edsta.system.api.factory.RemoteExpertFallbackFactory;
import com.ehotting.edsta.system.api.factory.RemoteFileFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;

/**
 * 专家系统
 * 
 * @author edsta
 */
@FeignClient(contextId = "remoteExpertService", value = ServiceNameConstants.EXPERT_SERVICE, fallbackFactory = RemoteExpertFallbackFactory.class)
public interface RemoteExpertService
{
    /**
     * 执行脚本
     *
     * @return 结果
     */
    @PostMapping(value = "/circuitDesign/generate/execute", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    AjaxResult execute(@RequestPart(value = "sceneId") Long sceneId, @RequestPart(value = "ruleId") Long ruleId, @RequestPart(value = "params") String params);


}
